# Create your views here.

## no longer to import these when using 'render_to_response()'
#from django.template import Context, loader
#from django.http import HttpResponse
from django.shortcuts import render_to_response, get_object_or_404

from django.template import RequestContext
from django.http import HttpResponseRedirect, HttpResponse
from django.core.urlresolvers import reverse

from polls.models import Poll, Choice

# def index(request):
	# latest_poll_list = Poll.objects.all().order_by('-pub_date')[:10]
	# #t = loader.get_template('polls/index.html')
	# #c = Context({
    # #    'latest_poll_list': latest_poll_list,
    # #})
	# #return HttpResponse(t.render(c))
	# return render_to_response('polls/index.html', {'latest_poll_list': latest_poll_list})
	
# def detail(request, poll_id):
	# p = get_object_or_404(Poll, pk=poll_id)
	# return render_to_response('polls/detail.html', {'poll':p},
								# context_instance=RequestContext(request))
	
# def result(request, poll_id):
	# p = get_object_or_404(Poll, pk=poll_id)
	# return render_to_response('polls/result.html', {'poll':p})
	
def vote(request, poll_id):
	p = get_object_or_404(Poll, pk=poll_id)
	try:
		selected_choice = p.choice_set.get(pk=request.POST['choice'])
	except (KeyError, Choice.DoesNotExist):
		# Redisplay the poll voting form.
		return render_to_response('polls/detail.html', {
			'poll':p, 
			'error_message':"You didn't select a choice.",
		}, context_instance=RequestContext(request))
	else:
		selected_choice.votes += 1
		selected_choice.save()
		# Always return a HttpResponseRedirect after successfully dealing
		# with POST data. This prevents data from being posted twice if a 
		# user hits the Back button.
		return HttpResponseRedirect( reverse('poll_results', args=(p.id,) ) )

def handler404(resquest):
	return render_to_response('404.html')